home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / sgbbrd.z / sgbbrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          SSSSGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SGBBRD - reduce a real general m-by-n band matrix A to upper bidiagonal
  10.      form B by an orthogonal transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, LDQ, PT,
  14.                         LDPT, C, LDC, WORK, INFO )
  15.  
  16.          CHARACTER      VECT
  17.  
  18.          INTEGER        INFO, KL, KU, LDAB, LDC, LDPT, LDQ, M, N, NCC
  19.  
  20.          REAL           AB( LDAB, * ), C( LDC, * ), D( * ), E( * ), PT( LDPT,
  21.                         * ), Q( LDQ, * ), WORK( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      SGBBRD reduces a real general m-by-n band matrix A to upper bidiagonal
  25.      form B by an orthogonal transformation: Q' * A * P = B.
  26.  
  27.      The routine computes B, and optionally forms Q or P', or computes Q'*C
  28.      for a given matrix C.
  29.  
  30.  
  31. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  32.      VECT    (input) CHARACTER*1
  33.              Specifies whether or not the matrices Q and P' are to be formed.
  34.              = 'N': do not form Q or P';
  35.              = 'Q': form Q only;
  36.              = 'P': form P' only;
  37.              = 'B': form both.
  38.  
  39.      M       (input) INTEGER
  40.              The number of rows of the matrix A.  M >= 0.
  41.  
  42.      N       (input) INTEGER
  43.              The number of columns of the matrix A.  N >= 0.
  44.  
  45.      NCC     (input) INTEGER
  46.              The number of columns of the matrix C.  NCC >= 0.
  47.  
  48.      KL      (input) INTEGER
  49.              The number of subdiagonals of the matrix A. KL >= 0.
  50.  
  51.      KU      (input) INTEGER
  52.              The number of superdiagonals of the matrix A. KU >= 0.
  53.  
  54.      AB      (input/output) REAL array, dimension (LDAB,N)
  55.              On entry, the m-by-n band matrix A, stored in rows 1 to KL+KU+1.
  56.              The j-th column of A is stored in the j-th column of the array AB
  57.              as follows:  AB(ku+1+i-j,j) = A(i,j) for max(1,j-
  58.              ku)<=i<=min(m,j+kl).  On exit, A is overwritten by values
  59.              generated during the reduction.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          SSSSGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDAB    (input) INTEGER
  75.              The leading dimension of the array A. LDAB >= KL+KU+1.
  76.  
  77.      D       (output) REAL array, dimension (min(M,N))
  78.              The diagonal elements of the bidiagonal matrix B.
  79.  
  80.      E       (output) REAL array, dimension (min(M,N)-1)
  81.              The superdiagonal elements of the bidiagonal matrix B.
  82.  
  83.      Q       (output) REAL array, dimension (LDQ,M)
  84.              If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.  If VECT =
  85.              'N' or 'P', the array Q is not referenced.
  86.  
  87.      LDQ     (input) INTEGER
  88.              The leading dimension of the array Q.  LDQ >= max(1,M) if VECT =
  89.              'Q' or 'B'; LDQ >= 1 otherwise.
  90.  
  91.      PT      (output) REAL array, dimension (LDPT,N)
  92.              If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.  If VECT =
  93.              'N' or 'Q', the array PT is not referenced.
  94.  
  95.      LDPT    (input) INTEGER
  96.              The leading dimension of the array PT.  LDPT >= max(1,N) if VECT
  97.              = 'P' or 'B'; LDPT >= 1 otherwise.
  98.  
  99.      C       (input/output) REAL array, dimension (LDC,NCC)
  100.              On entry, an m-by-ncc matrix C.  On exit, C is overwritten by
  101.              Q'*C.  C is not referenced if NCC = 0.
  102.  
  103.      LDC     (input) INTEGER
  104.              The leading dimension of the array C.  LDC >= max(1,M) if NCC >
  105.              0; LDC >= 1 if NCC = 0.
  106.  
  107.      WORK    (workspace) REAL array, dimension (2*max(M,N))
  108.  
  109.      INFO    (output) INTEGER
  110.              = 0:  successful exit.
  111.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.